Redundant multi-threading is a technique in which a program is executed multiple times to help detect and/or prevent errors that can lead to corruption of calculation values. Errors may include soft errors, in which a bit flip occurs in a storage element due to structural, electrical, or environmental factors. Execution of a program only a single time does not provide the inherent ability to detect such errors. The redundant multi-threading technique allows for detection of such errors because if the same program is executed two or more times, that program should produce the same result and if the results are not identical, it can be assumed that an error has occurred.